과적합 문제
IT 위키
더 많은 작업
- Overfitting Problem
- 학습을 과하게 시켜 학습 데이터에선 최적의 결과를 내지만 새로운 데이터에 대해선 판단력이 부정확해지는 문제
- 반대의 경우를 부적합 문제라고 한다.
- 다양한 데이터 추가
- 드롭 아웃(Drop Out)
- 조기 중단(Early Stop)
- 제한된 볼츠만 머신(Restricted Boltzman Machine, RBM)
- 5가지 종의 강아지 사진 10만장으로 학습을 오랫동안 시킬 경우
- 정확히 5가지 종에 일치하는 강아지에 대해서만 강아지라고 판단
- 3가지 종의 강아지 사진 1만장으로 가볍게 학습을 시킨 경우 오히려 정확도가 높을 수 있음
- 이세돌vs알파고 4국에서 79수 부터
- 이기는 수에 대해서만 학습을 한 알파고는 이길 수 있는 수가 없자 '최선'의 수가 아닌 알 수 없는 수를 둠
| 구분 | 편향(Bias) | 분산(Variance) | 모델 |
|---|---|---|---|
| 과소적합 | 크다 | 작다 | 너무 단순하다 |
| 과적합 | 작다 | 크다 | 필요 이상으로 복잡하다 |
과적합을 막는 기법은 모두 모델이 학습 데이터를 외워 버리지 못하게 한다는 점에서 같은 계열(규제, regularization)이다.
- 드롭아웃 : 학습할 때마다 일부 뉴런을 임의로 끈다. 매번 조금씩 다른 신경망을 학습하는 셈이라 특정 뉴런에 의존하지 않게 된다.
- 데이터 증강(Data Augmentation) : 이미지를 회전·뒤집기·자르기·밝기 조절하는 식으로 학습 데이터를 변형해 늘린다. 같은 대상을 여러 모습으로 보게 해 학습 데이터에만 맞는 것을 막으므로, 드롭아웃과 같은 과적합 방지(일반화) 효과를 낸다.
- 배치 정규화 : 층마다 입력을 미니배치 단위로 정규화해 학습을 안정시킨다. 부수적으로 규제 효과가 있다.
- 가중치 규제 : 손실 함수에 가중치 크기 벌점을 더한다(L1 정규화·L2 정규화).
- 조기 종료 : 검증 오차가 다시 커지기 시작하면 학습을 멈춘다.
다음은 이름이 비슷하게 나오지만 과적합 방지 기법이 아니다.
| 용어 | 실제 역할 |
|---|---|
| 풀링(Pooling) | 합성곱 신경망에서 특징 맵을 최댓값·평균값으로 요약해 크기를 줄이는 다운샘플링 |
| 패딩(Padding) | 합성곱 전에 입력 가장자리에 0 등을 채워 출력 크기를 유지하고 가장자리 정보를 살린다 |
| 커널 트릭(Kernel Trick) | 서포트 벡터 머신에서 데이터를 고차원으로 직접 옮기지 않고 커널 함수로 내적만 계산해 비선형 분류를 하는 방법 |
모델을 복잡하게 할수록 편향은 줄고 분산은 커지므로(편향-분산 상충), 규제는 분산을 줄이는 대신 편향을 조금 늘리는 쪽으로 균형을 잡는 일이다.
